package base;

public class Demo03 {
    public static void main(String[] args) {
        //整数拓展:   进制   二进制以0b开头   十进制   八进制以0开头   十六进制以0x开头

        int i = 10;
        int i2 = 010;  //八进制以0开头
        int i3 = 0x10; //十六进制以0x开头  0~9 A-F

        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("==============================");
        //=============================================================
        //浮点数扩展: 银行业务怎么表示？ 钱
        //BigDecimal  数学工具类
        //=============================================================

        //float  有限    离散    舍入误差    大约    接近但不等于
        //double
        //最好完全避免使用浮点数进行比较

        float f = 0.1f;
        double d = 0.1;
        System.out.println(f==d); //false

        float f1 = 2313121311313f;
        float f2 = f1 + 1;
        System.out.println(f1==f2); //true

        //=============================================================
        //字符拓展:
        //=============================================================
        char c1 = 'a';
        char c2 = '中';

        System.out.println(c1);
        System.out.println((int)c1); //强制转换
        System.out.println(c2);
        System.out.println((int)c2); //强制转换

        //所有的字符本质还是数字
        //编码 Unicode 表：（97 = a 65 = A） 2字节  0-65536
        // U0000  UFFFF

        char c3 = '\u0061';
        System.out.println(c3); //a

        //转义字符
        // \t  制表符
        // \n  换行
        System.out.println("Hello\tWorld");
        System.out.println("Hello\nWorld");

        System.out.println("=========================");
        String s1 = new String("Hello,World");
        String s2 = new String("Hello,World");
        System.out.println(s1==s2);

        String s3 = "Hello,World";
        String s4 = "Hello,World";
        System.out.println(s3==s4);
        //对象  从内存分析

        //布尔值扩展
        boolean flag = true;
        if (flag==true){} //新手
        if (flag){} //老手
        //Less is More  代码要精简易读
    }
}
